/**
 * 版权所有(C)，上海勾芒信息科技，2016，所有权利保留。
 * 
 * 项目名：	opple-web
 * 文件名：	RsBaseServiceImpl.java
 * 模块说明：	
 * 修改历史：
 * 2016年5月7日 - Debenson - 创建。
 */
package com.alex.insistence.rest.common;

import java.util.List;
import java.util.Set;

import javax.validation.ConstraintViolation;
import javax.validation.Validator;

import org.jeecgframework.core.beanvalidator.BeanValidators;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * @author Debenson
 * @since 0.1
 */
public class RsBaseServiceImpl {

  @Autowired
  protected Validator validator;

  protected <T> void validateBean(T t) throws IllegalArgumentException {
    Set<ConstraintViolation<T>> failures = validator.validate(t);
    if (!failures.isEmpty()) {
      List<String> msgs = BeanValidators.extractMessage(failures);
      StringBuffer sb = new StringBuffer();
      for (String msg : msgs) {
        sb.append(msg).append(";");
      }
      throw new IllegalArgumentException(sb.toString());
    }
  }

}
